/* 
 * File:   MementoException.h
 * Author: Gab'z
 *
 * Created on 29 mai 2012, 20:46
 */

#ifndef MEMENTOEXCEPTION_H
#define	MEMENTOEXCEPTION_H
#include <exception>
#include <string>

namespace calculator {

    /**
     * Classe d'exception pour les Memento.
     * Exception lancée en cas de mauvaise utilisation d'un Memento lors d'une 
     * action de type ANNULER (UNDO).
     * @param e la cause de l'exception.
     */
    class MementoException : public std::exception {
        std::string info;
    public:

        MementoException(const std::string& i) : info("Erreur de memento : " + i) {
        }

        virtual ~MementoException()throw () {
        }

        const char* what() const throw () {
            return info.c_str();
        }
    };

}
#endif	/* MEMENTOEXCEPTION_H */

